//package work.rightAnswer;
//
//import java.util.Stack;
//
//class pick_water_42 {
//    public int trap(int[] height) {
//        Stack<Integer> stack = new Stack<>();
//        int sum = 0;
//        stack.push(0);
//        for (int i = 1; i < height.length; i++) {
//            int peek = stack.peek();
//            if(height[i]<height[peek]){
//                stack.push(i);
//            }else if(height[i]==height[peek]){
//                stack.pop();
//                stack.push(i);
//            }else {
//                while (!stack.isEmpty()&&height[stack.peek()]<height[i]){
//                    Integer mid = stack.pop();
//                    if(!stack.isEmpty()){
//                        Integer left = stack.peek();
//                        sum += (Math.min(height[i],height[left])-height[mid])*(i-left-1);
//                    }
//                }
//                stack.push(i);
//            }
//        }
//        return sum;
//    }
//}